package com.erp.gather.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.core.annotation.ExcelDictFormat;
import com.ruoyi.common.core.convert.ExcelDictConvert;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 卖家在线商品拓展;参考AE-商品：发布产品信息（aliexpress.postproduct.redefining.postaeproduct）视图对象
 * erp_seller_store_product_expand
 *
 * @author erp
 * @date 2023-03-28
 */
@Data
@ExcelIgnoreUnannotated
public class ErpSellerStoreProductExpandVo {

	private static final long serialVersionUID = 1L;

	/**
	 * 主键
	 */
	@ExcelProperty(value = "主键")
	private Long id;

	/**
	 * 卖家商品ID
	 */
	@ExcelProperty(value = "卖家商品ID")
	private Long sellerStoreProductId;

	/**
	 * 店铺商品id
	 */
	@ExcelProperty(value = "店铺商品id")
	private Long aeProductId;

	/**
	 * 卡券商品开始有效期
	 */
	@ExcelProperty(value = "卡券商品开始有效期")
	private String couponStartDate;

	/**
	 * 卡券商品结束有效期
	 */
	@ExcelProperty(value = "卡券商品结束有效期")
	private String couponEndDate;

	/**
	 * 商品的运费模板ID
	 */
	@ExcelProperty(value = "商品的运费模板ID")
	private Long freightTemplateId;

	/**
	 * 产品分组ID;这个产品需要关联的产品分组ID. 只能关联一个产品分组，如果想关联多个产品分组，请使用api.setGroups接口。
	 */
	@ExcelProperty(value = "产品分组ID;这个产品需要关联的产品分组ID. 只能关联一个产品分组，如果想关联多个产品分组，请使用api.setGroups接口。")
	private Long groupId;

	/**
	 * 调价方式：0固定上调，1百分比上调
	 */
	@ExcelProperty(value = "调价方式：0固定上调，1百分比上调")
	private String priceAdjustmentMethod;

	private Integer readjustPricesType;

	/**
	 * 调价
	 */
	@ExcelProperty(value = "调价")
	private BigDecimal readjustPrices;

	/**
	 * 商品价格
	 */
	@ExcelProperty(value = "商品价格")
	private BigDecimal price;

	// 智能定价模板id
	private String templateId;
	// 智能定价模板名称
	private String templateName;

	private String brandId;

	/**
	 * 区域定价MAP;参考：https://developers.aliexpress.com/doc.htm?docId=109575&docType=1
	 */
	@ExcelProperty(value = "区域定价MAP;参考：https://developers.aliexpress.com/doc.htm?docId=109575&docType=1")
	private String absoluteQuoteMap;

	/**
	 * 
	 */
	@ExcelProperty(value = "")
	private String productStatusType;

	/**
	 * 服务模板设置;服务模板设置。（需和服务模板查询接口api.queryPromiseTemplateById进行关联使用
	 */
	@ExcelProperty(value = "服务模板设置;服务模板设置。", converter = ExcelDictConvert.class)
	@ExcelDictFormat(readConverterExp = "服务模板设置;服务模板设置。（需和服务模板查询接口api.queryPromiseTemplateById进行关联使用")
	private Long promiseTemplateId;

	/**
	 * 库存扣减策略;库存扣减策略，总共有2种：下单减库存(place_order_withhold)和支付减库存(payment_success_deduct)。
	 */
	@ExcelProperty(value = "库存扣减策略;库存扣减策略，总共有2种：下单减库存(place_order_withhold)和支付减库存(payment_success_deduct)。")
	private String reduceStrategy;

	/**
	 * 
	 */
	@ExcelProperty(value = "")
	private String src;

	/**
	 * 
	 */
	@ExcelProperty(value = "")
	private String wsDisplay;

	/**
	 * 
	 */
	@ExcelProperty(value = "")
	private String wsOfflineDate;

	/**
	 * 商品有效天数;商品有效天数。取值范围:1-30,单位:天。
	 */
	@ExcelProperty(value = "商品有效天数;商品有效天数。取值范围:1-30,单位:天。")
	private Long wsValidNum;

	/**
	 * 
	 */
	@ExcelProperty(value = "")
	private Long aliMemberId;

	/**
	 * 
	 */
	@ExcelProperty(value = "")
	private Long mediaId;

	/**
	 * 
	 */
	@ExcelProperty(value = "")
	private String mediaStatus;

	/**
	 * 
	 */
	@ExcelProperty(value = "")
	private String mediaType;

	/**
	 * 
	 */
	@ExcelProperty(value = "")
	private String posterUrl;

	/**
	 * 
	 */
	@ExcelProperty(value = "")
	private String eanCode;

	private Integer status;

	private String remark;

	private Long activityId;

	private String activityRemark;

	private Integer isAudit;

	/**
	 * 乐观锁
	 */
	@ExcelProperty(value = "乐观锁")
	private String revision;
	
	// 是否自动匹配（0否 1是）
    private Integer isAutoMate;
    // 系统设定运费模板
    private Integer settingFreightTemplateId;

	private Integer isMainImageReordering;

}
